iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
Build on Google AI

AI 避雷探針|Google Maps 店家評論智慧分析助手系列 第 4

Day 4|認識 JSON:讓 AI 輸出更有規則

  • 分享至 

  • xImage
  •  

昨天學習了 Gemini Prompt Engineering,開始嘗試透過 Prompt 告訴 Gemini 要分析哪些內容,以及希望它用什麼格式回答。

今天則進一步認識 JSON。

一開始看到 JSON 的時候,覺得它看起來有點像程式碼,但實際了解後發現,它其實是一種用來整理和傳遞資料的格式,而且在 AI 和網站開發中都很常見。

JSON 是什麼?

JSON 的全名是 JavaScript Object Notation,是一種輕量、容易閱讀的資料交換格式。
雖然名稱裡面有 JavaScript,但 JSON 並不只能使用在 JavaScript,也可以被許多不同的程式語言使用。
JSON 的特色是可以把資料整理成有規則的結構,讓人可以閱讀,也方便程式讀取。
例如一般文字可能會寫:
「這家拉麵很好吃,服務態度不錯,但是等待時間很久,價格有點高。」
如果使用 JSON,就可以把這些資訊拆成不同的欄位:
{
"food": "很好吃",
"service": "態度不錯",
"waiting_time": "很久",
"price": "偏高"
}

這樣就可以很清楚知道每一個資訊代表什麼。

JSON 的基本結構

JSON 主要是由「鍵」和「值」組成。
例如:
{
"food": "很好吃"
}

這裡的:
food 是鍵(Key)
很好吃 是值(Value)
也就是:

Key → 告訴程式這個資料是什麼

Value → 實際存放的資料

而且一個 JSON 裡面可以有很多組 Key 和 Value:

{
"name": "拉麵店",
"rating": 4.5,
"recommended": true
}
這裡的 name 是文字,rating 是數字,recommended 是布林值,而 risk_points 則是一個陣列,可以放入多個雷點。

JSON 可以存放哪些資料?

除了文字之外,JSON 也可以存放不同類型的資料,例如:

1. 字串(String)

用雙引號表示,例如:"name": "拉麵店"

2. 數字(Number)

可以是整數或小數,例如:"rating": 4.5

3. 布林值(Boolean)

只有 true 和 false 兩種,例如:"recommended": true
可以用來表示「是/否」、「有/沒有」等資訊。

4. 陣列(Array)

使用 [] 表示,可以放入多筆資料。
例如一家店有多個可能的雷點:
"risk_points": [
"等待時間過長",
"價格偏高"
]

5. 物件(Object)

使用 {} 表示,可以再放入其他 Key 和 Value。
例如把餐點和服務分開:
"food_service": {
"food": "餐點好吃",
"service": "服務態度不錯"
}

6. 空值(null)

如果目前沒有資料,可以使用 null 表示:"environment": null

為什麼我的專案會使用到 JSON?

因為我的目標不只是讓 Gemini 幫忙分析評論,而是希望最後把分析結果放進自己製作的網站。
如果 Gemini 每次都用一般文字回答,內容可能會有不同的格式,網站程式就比較難判斷每一段文字代表什麼。

例如:
這家店整體評價不錯,但等待時間較長,
餐點很好吃,價格稍微偏高。
人可以看懂,但程式不容易直接知道哪一段是「整體評價」、哪一段是「雷點」、哪一段是「價格」。
因此,可以要求 Gemini 使用固定的 JSON 格式輸出:
{
"overall": "正面",
"risk_points": [
"等待時間過長",
"價格偏高"
],
"food_service": {
"food": "餐點好吃",
"service": "店員態度較冷淡"
},
"environment": "未提及",
"price": "偏高",
"suspicious_review": false
}

這樣每一項資訊都有固定的欄位。
例如:
overall → 整體評價
risk_points → 可能的雷點
food_service → 餐點/服務
environment → 環境
price → 價格
suspicious_review → 疑似異常評論
之後網站就可以根據這些欄位取得資料,再把它們顯示在不同的位置。
所以對我的專案來說,JSON 可以當作 Gemini 和網站之間傳遞分析結果的一種資料格式。

實際練習

了解基本概念後,我也在 Google AI Studio 中實際測試,要求 Gemini 將店家評論分析結果改成 JSON 格式。
這次的目標是讓 Gemini 不再只是回答一段文字,而是按照我指定的欄位輸出資料。
https://ithelp.ithome.com.tw/upload/images/20260916/20178908wOC9Onnsxs.png
透過這次練習,我也開始了解 AI 產生的內容,除了可以直接給人閱讀之外,也可以轉換成程式能夠處理的資料。

今天的學習

今天主要學習了 JSON 的基本概念、Key 和 Value、常見資料型態,以及 JSON 在 AI 與網站開發中的用途。
也第一次實際讓 Gemini 輸出 JSON,開始了解如何把 AI 的分析結果轉換成比較有規則的資料。
目前對 JSON 還只是初步認識,接下來還需要繼續練習如何設計適合自己專案的 JSON 結構,以及之後要怎麼讓網站讀取這些資料。
對「AI 避雷探針」來說,未來預計會形成:
店家評論 → Gemini 分析 → JSON → 網站顯示
所以今天學習 JSON,也算是為之後的網站開發先打好基礎。


上一篇
Day 3|Gemini Prompt Engineering
下一篇
Day 5|認識 API:網站如何取得外部資料
系列文
AI 避雷探針|Google Maps 店家評論智慧分析助手8
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言